package schema

import (
	"encoding/base64"
	"encoding/json"
)

// AppParameter 移动端参数
type AppParameter struct {
	Channel      string `json:"channel"`
	DeviceID     string `json:"device_id"`
	DeviceType   string `json:"device_type"`
	NetType      string `json:"net_type"`
	OS           string `json:"os"`
	OSVersion    string `json:"os_version"`
	PhoneBrand   string `json:"phone_brand"`
	PhoneModel   string `json:"phone_model"`
	ScreenWidth  int    `json:"screen_width"`
	ScreenHeight int    `json:"screen_height"`
	Source       string `json:"source"`
	Version      string `json:"version"`
	UUID         string `json:"uuid"`
	Timestamp    int64  `json:"timestamp"`
}

func (a *AppParameter) String() string {
	buf, _ := json.Marshal(a)
	return string(buf)
}

// EncodeToBase64 base64编码
func (a *AppParameter) EncodeToBase64() string {
	return base64.URLEncoding.EncodeToString([]byte(a.String()))
}
